<template>

	<view class="">
		<view class="flex align-center head">
			<view class="name">名称</view>
			<view class="price">持仓 | 市值</view>
			<view class="price">现价 | 成本</view>
			<view class="up-down">涨幅 | 盈亏</view>
		</view>
		 <mescroll-uni :ref="'mescrollRef'+i" @init="mescrollInit" :height="height" :down="downOption" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
			<!-- 数据列表 -->
			<trade-list :list="list"></trade-list>
		</mescroll-uni>
	</view>

</template>

<script>
	import {getMarketCode} from '@/utils/stock.js'
	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
	import MescrollMoreItemMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mixins/mescroll-more-item.js";
	import {holdStock,holdStockPz,holdStockRq} from "@/api/user.js"
	import tradeList from './trade-list-rq.vue'
	export default {
		components: {
			tradeList
		},
		mixins: [MescrollMixin,MescrollMoreItemMixin], // 注意此处还需使用MescrollMoreItemMixin (必须写在MescrollMixin后面)
		data() {
			return {
				downOption:{
					auto:false // 不自动加载 (mixin已处理第一个tab触发downCallback)
				},
				upOption:{
					auto:false, // 不自动加载
					// page: {
					// 	num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
					// 	size: 10 // 每页数据的数量
					// },
					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
					empty:{
						tip: '~ 暂无数据 ~', // 提示
					}
				},
				list: [] //列表数据
			}
		},
		props:{
			i: Number, // 每个tab页的专属下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
			index: { // 当前tab的下标 (除了支付宝小程序必须在这里定义, 其他平台都可不用写, 因为已在MescrollMoreItemMixin定义)
				type: Number,
				default(){
					return 0
				}
			},
			tabs: { // 为了请求数据,演示用,可根据自己的项目判断是否要传
				type: Array,
				default(){
					return []
				}
			},
			height: [Number,String] // mescroll的高度
		},
		methods: {
			/*下拉刷新的回调 */
			downCallback() {
				// 这里加载你想下拉刷新的数据, 比如刷新轮播数据
				// loadSwiper();
				// 下拉刷新的回调,默认重置上拉加载列表为第一页 (自动执行 page.num=1, 再触发upCallback方法 )
				this.mescroll.resetUpScroll()
			},
			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
			upCallback(page) {
				//联网加载数据
				holdStockRq({
					status:1,
					buytype:8,
					page:page.num,
					size:page.size
				}).then(res=>{
					if(res.code==1){
						if(page.num == 1) this.list = [];
						res.data.list.forEach(v=>{
							v.marketCode = getMarketCode(v.allcode)
						})
						this.list=this.list.concat(res.data.list);
						this.mescroll.endSuccess(res.data.list.length);
					}else{
						this.mescroll.endErr();
					}
				})

			},
			//点击空布局按钮的回调
			emptyClick(){
				uni.showToast({
					title:'点击了按钮,具体逻辑自行实现'
				})
			}
		}
	}
</script>
<style lang="scss" scoped>
	.name,.price,.up-down{
		box-sizing: border-box;
		padding: 20rpx;font-size: 26rpx
	}
	.name{width: 25%;}
	.price{width: 24%;}
	.up-down{width: 25%;text-align: right;}
	.head{
		position: sticky;top: 0;
		background: #fff;z-index: 99;
	}
</style>